VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Object = "{8D650141-6025-11D1-BC40-0000C042AEC0}#3.0#0"; "ssdw3b32.ocx"
Begin VB.Form frmSaldosPorObraSocial 
   BackColor       =   &H00FFFFFF&
   BorderStyle     =   1  'Fixed Single
   Caption         =   "Saldos por Obra Social"
   ClientHeight    =   5895
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   6390
   KeyPreview      =   -1  'True
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MDIChild        =   -1  'True
   MinButton       =   0   'False
   ScaleHeight     =   5895
   ScaleWidth      =   6390
   Begin SSDataWidgets_B.SSDBGrid Grilla 
      Height          =   5295
      Left            =   120
      TabIndex        =   0
      Top             =   480
      Width           =   6120
      _Version        =   196616
      DataMode        =   2
      Col.Count       =   2
      BevelColorFace  =   16777215
      AllowUpdate     =   0   'False
      RowSelectionStyle=   2
      AllowRowSizing  =   0   'False
      AllowGroupSizing=   0   'False
      AllowGroupMoving=   0   'False
      AllowGroupSwapping=   0   'False
      AllowGroupShrinking=   0   'False
      AllowDragDrop   =   0   'False
      SelectTypeCol   =   0
      SelectTypeRow   =   1
      BackColorEven   =   12648447
      BackColorOdd    =   12640511
      RowHeight       =   423
      Columns.Count   =   2
      Columns(0).Width=   6165
      Columns(0).Caption=   "Obra Social"
      Columns(0).Name =   "Obra Social"
      Columns(0).CaptionAlignment=   2
      Columns(0).DataField=   "Column 0"
      Columns(0).DataType=   8
      Columns(0).FieldLen=   256
      Columns(1).Width=   3519
      Columns(1).Caption=   "Saldo"
      Columns(1).Name =   "Saldo"
      Columns(1).Alignment=   1
      Columns(1).CaptionAlignment=   2
      Columns(1).DataField=   "Column 1"
      Columns(1).DataType=   8
      Columns(1).FieldLen=   256
      _ExtentX        =   10795
      _ExtentY        =   9340
      _StockProps     =   79
      Caption         =   "Planilla de Dalso"
      BackColor       =   -2147483643
      BeginProperty PageFooterFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "MS Sans Serif"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      BeginProperty PageHeaderFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "MS Sans Serif"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
   End
   Begin MSComctlLib.ImageList ImageList1 
      Left            =   2280
      Top             =   0
      _ExtentX        =   1005
      _ExtentY        =   1005
      BackColor       =   -2147483643
      ImageWidth      =   16
      ImageHeight     =   16
      MaskColor       =   12632256
      _Version        =   393216
      BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
         NumListImages   =   11
         BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmSaldosPorObraSocial.frx":0000
            Key             =   ""
         EndProperty
         BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmSaldosPorObraSocial.frx":059A
            Key             =   ""
         EndProperty
         BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmSaldosPorObraSocial.frx":0B34
            Key             =   ""
         EndProperty
         BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmSaldosPorObraSocial.frx":10CE
            Key             =   ""
         EndProperty
         BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmSaldosPorObraSocial.frx":1668
            Key             =   ""
         EndProperty
         BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmSaldosPorObraSocial.frx":1C02
            Key             =   ""
         EndProperty
         BeginProperty ListImage7 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmSaldosPorObraSocial.frx":219C
            Key             =   ""
         EndProperty
         BeginProperty ListImage8 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmSaldosPorObraSocial.frx":2736
            Key             =   ""
         EndProperty
         BeginProperty ListImage9 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmSaldosPorObraSocial.frx":2CD0
            Key             =   ""
         EndProperty
         BeginProperty ListImage10 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmSaldosPorObraSocial.frx":326A
            Key             =   ""
         EndProperty
         BeginProperty ListImage11 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmSaldosPorObraSocial.frx":3804
            Key             =   ""
         EndProperty
      EndProperty
   End
   Begin MSComctlLib.Toolbar Toolbar1 
      Align           =   1  'Align Top
      Height          =   360
      Left            =   0
      TabIndex        =   1
      Top             =   0
      Width           =   6390
      _ExtentX        =   11271
      _ExtentY        =   635
      ButtonWidth     =   609
      ButtonHeight    =   582
      Appearance      =   1
      Style           =   1
      ImageList       =   "ImageList1"
      _Version        =   393216
      BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
         NumButtons      =   5
         BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Style           =   3
         EndProperty
         BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Key             =   "Aceptar"
            Object.ToolTipText     =   "Imprimir (F5)"
            ImageIndex      =   5
         EndProperty
         BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Style           =   3
         EndProperty
         BeginProperty Button4 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Key             =   "Salir"
            Object.ToolTipText     =   "Salir (Esc)"
            ImageIndex      =   11
         EndProperty
         BeginProperty Button5 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Style           =   3
         EndProperty
      EndProperty
      BorderStyle     =   1
   End
End
Attribute VB_Name = "frmSaldosPorObraSocial"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Dim con As New ConBaseDatos
Const decimales  As Integer = 2

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)

Select Case Button.Key

    Case "Salir"
        Unload Me
    
    Case "Aceptar"
        Imprimir True
       
End Select

End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)

Select Case KeyCode
    Case 27 'Escape "Salir"
        If Toolbar1.Buttons(5).Enabled Then Toolbar1_ButtonClick Toolbar1.Buttons(5)
        
    Case 112 'F1 "Ayuta"
        frmPrincipal.manual_Click
        
    Case 116 'F5 "Aceptar"
        If Toolbar1.Buttons(2).Enabled Then Toolbar1_ButtonClick Toolbar1.Buttons(2)
        
End Select

End Sub

Private Sub Form_Load()

Abrir Me
Me.Icon = frmPrincipal.Icon

Imprimir False

End Sub

Private Sub Imprimir(Imprime As Boolean)

Dim i As Integer, dato As String, InfExel As Object, datoTemp As String
Dim tot As Double, Linea As Integer, cConcepto As String
Dim datos() As String, dato2() As String

con.AbrirRegistros "select * from parametros where parametro='0000000002'", Consulta
If Not con.Registros.EOF Then
    datos = Split(con.Registros("datos"), "<||>")
    
    dato2 = Split(datos(0), ":")
    cConcepto = ReplicarCaracter("0", LargoID, dato2(1))
Else
    MsgBox "No hay un concepto seleccionado en parametros de fondos" & vbCrLf & "Para cobranza de obra social", vbCritical, "Error Datos"
End If
con.CerrarRegistros

dato = "select isnull(o.codigo+' - '+o.nombre,'Sin Obra Social') as obra_social," & _
        " isnull(sum(case when ci.efectivo=0 and ci.tipo='Ingreso' then ci.cantidad*(ci.ingreso1+ci.ingreso2) else 0 end),0)-" & _
        " isnull(sum(case when ci.concepto='" & cConcepto & "' and ci.efectivo=1 and ci.tipo='Ingreso' then ci.cantidad*ci.ingreso2 else 0 end),0)+" & _
        " isnull((select sum(ajuste) from ajustes_saldos_fondos where ajustes_saldos_fondos.obra_social=ci.obra_social and ajustes_saldos_fondos.profesional=''),0) as saldo" & _
        " from cajas_items ci" & _
        " inner join obras_sociales o on o.obra_social=ci.obra_social" & _
        " where ci.estado='Activo'" & _
        " group by isnull(o.codigo+' - '+o.nombre,'Sin Obra Social'),o.nombre,ci.obra_social" & _
        " having isnull(sum(case when ci.efectivo=0 and ci.tipo='Ingreso' then ci.cantidad*(ci.ingreso1+ci.ingreso2) else 0 end),0)-" & _
        " isnull(sum(case when ci.concepto='" & cConcepto & "' and ci.efectivo=1 and ci.tipo='Ingreso' then ci.cantidad*ci.ingreso2 else 0 end),0)+" & _
        " isnull((select sum(ajuste) from ajustes_saldos_fondos where ajustes_saldos_fondos.obra_social=ci.obra_social and ajustes_saldos_fondos.profesional=''),0)<>0" & _
        " order by o.nombre"

con.AbrirRegistros dato, Consulta

Grilla.RemoveAll
If con.Registros.EOF Then
    MsgBox "No hay ninguna obra social con saldo", vbExclamation, "Planilla de Deuda"
    Exit Sub
End If

'cargo la grilla
Grilla.Redraw = False
Do While Not con.Registros.EOF
    dato = ""
    For i = 0 To Grilla.Cols - 1
        datoTemp = ""
        If IsNull(con.Registros(i)) Then
            datoTemp = ""
        Else
            datoTemp = con.Registros(i)
            Select Case con.Registros(i).Name
                Case "saldo"
                    datoTemp = FormatoDecimales(datoTemp, decimales)
            End Select
        End If
        dato = dato & DesEditar((datoTemp)) & vbTab
        DoEvents
    Next i
    Grilla.AddItem dato
    tot = tot + con.Registros("saldo")
    con.Registros.MoveNext
    
    If con.Registros.EOF Then
        'inserto un registro en blanco
        dato = ""
        For i = 0 To Grilla.Cols - 1
            dato = dato & "" & vbTab
            DoEvents
        Next i
        Grilla.AddItem dato
        'inserto total general
        dato = "TOTAL GENERAL" & vbTab & FormatoDecimales(tot, decimales) & vbTab
        Grilla.AddItem dato
    End If
    DoEvents
Loop
con.CerrarRegistros

Grilla.Redraw = True

'si imprime
If Not Imprime Then
    Exit Sub
End If

If Not ExisteExcel Then
    MsgBox "Debe estar instalado MS Excel", vbCritical, "Operacion cancelada"
    Exit Sub
End If

Set InfExel = CreateObject("Excel.application")

'Agrega un nuevo Libro
InfExel.Workbooks.Add

'todas las celdas tipo texto
InfExel.Cells.Select
InfExel.Selection.NumberFormat = "@"

'hace que excel se vea
'InfExel.Visible = True

'cabecera
InfExel.Cells(2, 3).Formula = "PLANILLA SALDOS POR OBRA SOCIAL"
InfExel.Cells(2, 3).Font.Size = 12
InfExel.Range("C2").Select
InfExel.Selection.Font.Bold = True

InfExel.Cells(4, 6).Formula = "Fecha:"
InfExel.Cells(4, 6).HorizontalAlignment = -4152
InfExel.Cells(4, 7).Formula = Format(Fecha_Server, "dd/mm/yyyy")
InfExel.Cells(4, 7).HorizontalAlignment = -4131


'columnas
InfExel.Cells(6, 2).Formula = "Obra Social"
InfExel.Cells(6, 6).Formula = "Saldo"
InfExel.Range("B6:F6").Select
InfExel.Selection.Font.Bold = True
InfExel.Selection.HorizontalAlignment = -4108

'detalle
Grilla.Redraw = False
Linea = 7
Grilla.MoveFirst
For i = 0 To Grilla.Rows - 1
    InfExel.Cells(Linea, 2).Formula = Grilla.Columns(0).CellText(Grilla.Bookmark)
    InfExel.Cells(Linea, 2).HorizontalAlignment = -4131
    
    InfExel.Cells(Linea, 6).Formula = Grilla.Columns(1).CellText(Grilla.Bookmark)
    InfExel.Cells(Linea, 6).HorizontalAlignment = -4152
    
    Grilla.MoveNext
    Linea = Linea + 1
    DoEvents
Next i
Grilla.MoveFirst
Grilla.Redraw = True

InfExel.Range("B" & Linea - 1 & ":F" & Linea - 1).Select
InfExel.Selection.Font.Bold = True


InfExel.Range("F" & Linea - 1).Select
InfExel.Selection.Borders(5).LineStyle = -4142
InfExel.Selection.Borders(6).LineStyle = -4142
With InfExel.Selection.Borders(7)
    .LineStyle = 1
    .Weight = 2
    .ColorIndex = -4105
End With
With InfExel.Selection.Borders(8)
    .LineStyle = 1
    .Weight = 2
    .ColorIndex = -4105
End With
With InfExel.Selection.Borders(9)
    .LineStyle = 1
    .Weight = 2
    .ColorIndex = -4105
End With
With InfExel.Selection.Borders(10)
    .LineStyle = 1
    .Weight = 2
    .ColorIndex = -4105
End With

InfExel.Range("A1").Select

'margenes a cero
InfExel.ActiveSheet.PageSetup.LeftMargin = InfExel.Application.InchesToPoints(0)
InfExel.ActiveSheet.PageSetup.RightMargin = InfExel.Application.InchesToPoints(0)
InfExel.ActiveSheet.PageSetup.TopMargin = InfExel.Application.InchesToPoints(0)
InfExel.ActiveSheet.PageSetup.BottomMargin = InfExel.Application.InchesToPoints(0)
InfExel.ActiveSheet.PageSetup.HeaderMargin = InfExel.Application.InchesToPoints(0)
InfExel.ActiveSheet.PageSetup.FooterMargin = InfExel.Application.InchesToPoints(0)

'imprimo el excel directo a la impresora predeterminada
'InfExel.ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

'imprimo el excel en la impresora seleccionada
Load frmImpresora
frmImpresora.Show 1
If ImpresoraSeleccionada <> "" Then
    InfExel.ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
    ImpresoraSeleccionada, Collate:=True
End If

'para que no pregunte si se quiere guardar los cambios
InfExel.ActiveWorkbook.Saved = True

'cierro el excel
InfExel.Workbooks.Close
InfExel.Quit

Set InfExel = Nothing

End Sub

